package com.haierp.service;

import java.util.List;

import com.baomidou.framework.service.ISuperService;
import com.haierp.dto.ItemSkuDTO;
import com.haierp.model.Inventory;
import com.haierp.model.ItemSku;
import com.haierp.util.JsonPageResult;
import com.haierp.vo.ItemQueryVO;
import com.haierp.vo.ItemSkuQueryVO;

public interface IItemSkuService extends ISuperService<ItemSku> {

	/**
	 * 按照条件分页查询商品
	 * @param itemQueryVO
	 * @return
	 */
	JsonPageResult<List<ItemSku>> queryItemSkus(ItemSkuQueryVO itemSkuQueryVO);
	
	/**
	 * 根据SKU初始化库存信息
	 * @param itemSkuList
	 * @return
	 */
	List<Inventory> initInventory(List<ItemSku> itemSkuList);
	
	/**
	 * 新增SKU
	 * @param itemSku
	 */
	void addItemSku(ItemSku itemSku);
	
	/**
	 * update SKU
	 * @param itemSku
	 */
	void updateItemSku(ItemSku itemSku);
	
	/**
	 * 新增SKU
	 * @param itemSku
	 */
//	ItemSku queryById(Long skuId);
	
	/**
	 * itemid 查询skulist
	 * @param itemId
	 * @return
	 */
	List<ItemSku> queryItemSkusByItemId(ItemQueryVO itemQueryVO);
	
	/**
	 * itemid 查询skulist
	 * @param itemId
	 * @return
	 */
	ItemSku queryItemSkusBySkuId(ItemQueryVO itemQueryVO);

	/**
	 * 判断sku是否可以删除
	 * @param itemId
	 * @return
	 */
	boolean isCanDeleteSku(Long skuId);

	/**
	 * 删除sku
	 * @param skuId
	 */
	void deleteSkuById(Long skuId);

	Integer queryMaxSkuCodeIndex(Long itemId);

	List<ItemSku> queryItemSkusForExcel();

	/**
	 * 海狐可售商品查询
	 * @return
	 */
	List<ItemSku> queryItemSkusForItemThirdSale(Long itemId);

	/**
	 * update SKU BUYSITE
	 * @param itemSku
	 */
	void updateAllOldBuySite(ItemSkuQueryVO itemSkuQueryVO);
}
